(deftemplate statystyki_taxi_driver
	(slot cena_za_km(type FLOAT))  
	(slot cena_startowa(type FLOAT))
	(slot ilosc_km(type FLOAT))
	(slot stan_kasy(type FLOAT))
)
(deftemplate driver
	(slot czy_uprzejmy)  
	(slot doswiadczenie)	
)

(deftemplate auto
	(slot marka)
	(slot spalanie_na_100(type FLOAT))
	(slot stan_techniczny (allowed-values dobry przecietny beznadziejny) (default przecietny))
	(slot poziom_baku(type FLOAT))
)
(deftemplate koszt_przejazdu
	(slot ile_km(type FLOAT))
	(slot cena(type FLOAT))
)
(deftemplate akcja_kierowcy
	(slot typ_akcji))
	
	
	
	(defrule trac_przez_stan_auta
	?o <- (osoba (nazwa ?naz) (szybkosc ?szy) (pojazd_mechaniczny ?pm) (wygoda ?wyg) (rodzaj_pojazdu ?rp) (polozenie ?pol)(bezpieczenstwo ?bezp))
?aut <- (auto (stan_techniczny dobry))
?d <- (driver (doswiadczenie nie))	
=>
(modify ?aut(stan_techniczny przecietny))
)


	(defrule jazda_rano1
?o <- (osoba (nazwa ?naz) (szybkosc ?szy) (pojazd_mechaniczny ?pm) (wygoda ?wyg) (rodzaj_pojazdu ?rp) (polozenie ?pol)(bezpieczenstwo ?bezp))
	?akcja <- (akcja_kierowcy (typ_akcji jazda))
	
	?autko <- (auto (spalanie_na_100 ?w))
	?pora <- (pora_dnia (czas rano))
	=>
	(modify ?o (szybkosc (- ?szy 15)))
	(modify ?autko (spalanie_na_100 (* ?w 2)))
	(modify ?akcja (typ_akcji jazda_rano))
	
	
	
)
(defrule jazda_w_upal
	?akcja <- (akcja_kierowcy (typ_akcji jazda))
	?o <- (statystyki_taxi_driver (stan_kasy ?w))
	?p <- (pogoda (typ upal))
	?pora <- (pora_dnia (czas poludnie))
	=>
	(modify ?o(stan_kasy (- ?w 5)))
	(modify ?akcja (typ_akcji jazda_z_klimatyzacja))
	
)

(defrule jazda_w_nocy
	?o <- (osoba (nazwa ?naz) (szybkosc ?szy) (pojazd_mechaniczny ?pm) (wygoda ?wyg) (rodzaj_pojazdu ?rp) (polozenie ?pol))
	?akcja <- (akcja_kierowcy (typ_akcji jazda))
	?pora <- (pora_dnia (czas noc))
	=>
	(modify ?o (szybkosc (+ ?szy 25)))
	(modify ?akcja (typ_akcji szybka_jazda))
	
	
)

(defrule jazda_mandat
	?akcja <- (akcja_kierowcy (typ_akcji szybka_jazda))
	?o <- (statystyki_taxi_driver (stan_kasy ?w))
	
	=>
	(modify ?o(stan_kasy (- ?w 50)))
	(modify ?akcja (typ_akcji jazda_po_mandacie))	
)
	

(defrule jazda_w_deszczu
	?o <- (osoba (nazwa ?naz) (szybkosc ?szy) (pojazd_mechaniczny ?pm) (wygoda ?wyg) (rodzaj_pojazdu ?rp) (polozenie ?pol)(bezpieczenstwo ?bezp))
	?p <- (pogoda (typ deszcz))
	?pora <- (pora_dnia (czas noc))
	=>
	(modify ?o (szybkosc (- ?szy 15))(bezpieczenstwo (- ?bezp 30)))
	
	
)

(defrule trac_przez_auto
?o <- (statystyki_taxi_driver (stan_kasy ?w))
?p <- (pogoda (typ snieg))
?a <- (akcja_kierowcy (typ_akcji jazda))
=>
(modify ?o(stan_kasy (- ?w 200)))
(modify ?a(typ_akcji jazda_z_nowym_akumulatorem))
)


(defrule zarabiaj_bedac_milym
	?o <- (statystyki_taxi_driver (stan_kasy ?w))
	?d <-(driver (czy_uprzejmy tak))	
	=>
	(modify ?o(stan_kasy (+ ?w 10)))
	(modify ?d (czy_uprzejmy nie))
	;napiwek bo jest milym kierowca
)
(defrule trac_przez_stan_auta
?o <- (auto (stan_techniczny dobry))
(driver (doswiadczenie nie))	
=>
(modify ?o(stan_techniczny przecietny))
)

	

